package com.example.springlean.controller;

import com.example.springlean.pojo.PageResult;
import com.example.springlean.pojo.Result;
import com.example.springlean.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * 员工控制器类，处理与员工相关的HTTP请求
 */
@Slf4j
@RequestMapping("/emps")
@RestController
public class EmpController {

    /**
     * 自动注入员工服务类，用于处理员工相关的业务逻辑
     */
    @Autowired
    private EmpService empService;

    /**
     * 处理员工信息分页查询请求
     *
     * @param pageNum  页码，默认为1
     * @param pageSize 每页记录数，默认为10
     * @return 分页查询结果封装在Result对象中
     */
    @GetMapping
    public Result page(
            @RequestParam(defaultValue = "1") Integer pageNum,
            @RequestParam(defaultValue = "10") Integer pageSize
    ) {
        // 记录日志信息，开始查询员工信息
        log.info("查询员工信息, page={}, pageSize={}", pageNum, pageSize);

        // 调用服务层方法执行分页查询
        PageResult pageResult = empService.page(pageNum, pageSize);

        // 返回成功结果，包含分页查询结果
        return Result.success(pageResult);
    }
}
